<?php
session_start();
include 'config.php';

// Inicijalizacija poruka i form data
$success_message = $_SESSION['success_message'] ?? '';
$error_message = $_SESSION['error_message'] ?? '';
$form_data = $_SESSION['form_data'] ?? [];

unset($_SESSION['success_message']);
unset($_SESSION['error_message']);
unset($_SESSION['form_data']);

// Dohvat podataka za select opcije
$radnici = $conn->query("SELECT id, ime_prezime FROM radnici")->fetch_all(MYSQLI_ASSOC);
$vozila = $conn->query("SELECT id, registarski_broj FROM vozila")->fetch_all(MYSQLI_ASSOC);

// Generisanje broja naloga
$current_year = date('Y');
$sql_last_num = "SELECT MAX(broj_naloga) AS last_num FROM nalog WHERE godina_naloga = ?";
$stmt = $conn->prepare($sql_last_num);
$stmt->bind_param("i", $current_year);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$new_broj_naloga = ($row['last_num'] ?? 0) + 1;

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    try {
        // Prikupljanje i validacija podataka
        $required_fields = [
            'mjesto_izvodjena_radova' => 'Mjesto izvođenja radova je obavezno',
            'vrijeme_pocetka' => 'Vrijeme početka je obavezno',
            'zavrsetak_radova' => 'Vrijeme završetka je obavezno',
            'odgovorni_rukovodilac' => 'Odaberite bar jednog rukovodioca',
            'izvrsilac_radova' => 'Odaberite bar jednog izvršioca',
            'vozilo' => 'Odaberite bar jedno vozilo',
            'nalog_primio' => 'Odaberite primaoca naloga',
            'nalog_izdao' => 'Izdavač naloga je obavezan'
        ];

        $form_data = [];
        foreach ($required_fields as $field => $error) {
            if (empty($_POST[$field])) throw new Exception($error);
            $form_data[$field] = $_POST[$field];
        }

        // Ostala polja
        $optional_fields = [
            'opis_radova', 'mjesta_iskljucenja', 'dozpolena_od', 
            'radovi_po_nalogu', 'obavijest_predata_dana',
            'obavijest_primio', 'obavijest_predao_odgovorni'
        ];

        foreach ($optional_fields as $field) {
            $form_data[$field] = $_POST[$field] ?? '';
        }

        // Priprema za unos u bazu
        $stmt = $conn->prepare("INSERT INTO nalog (
            broj_naloga, godina_naloga, mjesto_izvodjena_radova,
            vrijeme_pocetka, zavrsetak_radova, odgovorni_rukovodilac,
            izvrsilac_radova, vozilo, opis_radova, mjesta_iskljucenja,
            dozpolena_od, nalog_primio, nalog_izdao, radovi_po_nalogu,
            obavijest_predata_dana, obavijest_primio, obavijest_predao_odgovorni
        ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

        $stmt->bind_param(
            "iisssssssssssssss",
            $new_broj_naloga,
            $current_year,
            $form_data['mjesto_izvodjena_radova'],
            date('Y-m-d H:i:s', strtotime($form_data['vrijeme_pocetka'])),
            date('Y-m-d H:i:s', strtotime($form_data['zavrsetak_radova'])),
            implode(',', $form_data['odgovorni_rukovodilac']),
            implode(',', $form_data['izvrsilac_radova']),
            implode(',', $form_data['vozilo']),
            $form_data['opis_radova'],
            $form_data['mjesta_iskljucenja'],
            $form_data['dozpolena_od'],
            implode(',', $form_data['nalog_primio']),
            $form_data['nalog_izdao'],
            $form_data['radovi_po_nalogu'],
            implode(',', $form_data['obavijest_predata_dana']),
            implode(',', $form_data['obavijest_primio']),
            implode(',', $form_data['obavijest_predao_odgovorni'])
        );

        if ($stmt->execute()) {
            $_SESSION['success_message'] = "Nalog #$new_broj_naloga/$current_year uspješno kreiran!";
            header("Location: dodaj_nalog.php");
            exit();
        } else {
            throw new Exception("Greška pri čuvanju naloga: " . $stmt->error);
        }

    } catch (Exception $e) {
        $_SESSION['error_message'] = $e->getMessage();
        $_SESSION['form_data'] = $form_data;
        header("Location: dodaj_nalog.php");
        exit();
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Novi Nalog</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 1000px;
            margin: 20px auto;
            padding: 20px;
            background-color: #f5f5f5;
        }

        .container {
            background: white;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }

        h1 {
            color: #2c3e50;
            border-bottom: 3px solid #3498db;
            padding-bottom: 15px;
        }

        .form-section {
            margin-bottom: 25px;
            padding: 15px;
            border: 1px solid #ecf0f1;
            border-radius: 5px;
        }

        .form-group {
            margin-bottom: 15px;
        }

        label {
            display: block;
            margin-bottom: 5px;
            color: #34495e;
            font-weight: bold;
        }

        input, select, textarea {
            width: 100%;
            padding: 8px;
            border: 1px solid #bdc3c7;
            border-radius: 4px;
            box-sizing: border-box;
        }

        select[multiple] {
            height: 120px;
        }

        button {
            background: #3498db;
            color: white;
            padding: 12px 25px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }

        button:hover {
            background: #2980b9;
        }

        .message {
            padding: 15px;
            margin-bottom: 25px;
            border-radius: 4px;
        }

        .success {
            background: #dff0d8;
            color: #3c763d;
            border: 1px solid #d6e9c6;
        }

        .error {
            background: #f2dede;
            color: #a94442;
            border: 1px solid #ebccd1;
        }
    </style>
</head>
<div style="text-align: center; margin: 40px 0;">
    <a href="index.php" style="display: inline-block; padding: 15px 30px; background: #27ae60; color: white; text-decoration: none; border-radius: 8px; box-shadow: 0 3px 6px rgba(0,0,0,0.16);">
        ← Vratite se na početnu
    </a>
</div>
<body>
    <div class="container">
        <h1>Kreiraj novi nalog (#<?= $new_broj_naloga ?>/<?= $current_year ?>)</h1>

        <?php if($success_message): ?>
            <div class="message success"><?= $success_message ?></div>
        <?php endif; ?>

        <?php if($error_message): ?>
            <div class="message error"><?= $error_message ?></div>
        <?php endif; ?>

        <form method="POST" id="nalogForm">
            <!-- Osnovne informacije -->
            <div class="form-section">
                <h3>Osnovne informacije</h3>
                
                <div class="form-group">
                    <label>Objekat izvođenja i mjesto radova :</label>
                    <input type="text" name="mjesto_izvodjena_radova" 
                           value="<?= htmlspecialchars($form_data['mjesto_izvodjena_radova'] ?? '') ?>" required>
                </div>

                <div class="form-group">
                    <label>Vrijeme početka radova:</label>
                    <input type="datetime-local" name="vrijeme_pocetka" 
                           value="<?= htmlspecialchars($form_data['vrijeme_pocetka'] ?? '') ?>" required>
                </div>

                <div class="form-group">
                    <label>Planirani završetak radova:</label>
                    <input type="datetime-local" name="zavrsetak_radova" 
                           value="<?= htmlspecialchars($form_data['zavrsetak_radova'] ?? '') ?>" required>
                </div>
            </div>

            <!-- Odgovorne osobe -->
            <div class="form-section">
                <h3>Odgovorne osobe</h3>

                <div class="form-group">
                    <label>Odgovorni rukovodilac radova:</label>
                    <select name="odgovorni_rukovodilac[]" multiple required>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['odgovorni_rukovodilac']) && in_array($radnik['id'], $form_data['odgovorni_rukovodilac']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Izvršioci radova:</label>
                    <select name="izvrsilac_radova[]" multiple required>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['izvrsilac_radova']) && in_array($radnik['id'], $form_data['izvrsilac_radova']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>

            <!-- Resursi -->
            <div class="form-section">
                <h3>Resursi</h3>

                <div class="form-group">
                    <label>Vozila:</label>
                    <select name="vozilo[]" multiple required>
                        <?php foreach($vozila as $vozilo): ?>
                            <option value="<?= $vozilo['id'] ?>"
                                <?= isset($form_data['vozilo']) && in_array($vozilo['id'], $form_data['vozilo']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($vozilo['registarski_broj']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Sažeti opis i redoslijed radova:</label>
                    <textarea name="opis_radova" rows="4"><?= htmlspecialchars($form_data['opis_radova'] ?? '') ?></textarea>
                </div>
            </div>

            <!-- Obavijesti -->
            <div class="form-section">
                <h3>Obavijesti</h3>

                <div class="form-group">
                    <label>Obavijest predata dana:</label>
                    <select name="obavijest_predata_dana[]" multiple>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['obavijest_predata_dana']) && in_array($radnik['id'], $form_data['obavijest_predata_dana']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Obavijest primio:</label>
                    <select name="obavijest_primio[]" multiple>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['obavijest_primio']) && in_array($radnik['id'], $form_data['obavijest_primio']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Obavijest predao odgovorni rukovodioc radova:</label>
                    <select name="obavijest_predao_odgovorni[]" multiple>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['obavijest_predao_odgovorni']) && in_array($radnik['id'], $form_data['obavijest_predao_odgovorni']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>

            <!-- Ostale informacije -->
            <div class="form-section">
                <h3>Ostale informacije</h3>

                <div class="form-group">
                    <label>Nalog primio:</label>
                    <select name="nalog_primio[]" multiple required>
                        <?php foreach($radnici as $radnik): ?>
                            <option value="<?= $radnik['id'] ?>"
                                <?= isset($form_data['nalog_primio']) && in_array($radnik['id'], $form_data['nalog_primio']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($radnik['ime_prezime']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Nalog izdao:</label>
                    <input type="text" name="nalog_izdao" 
                           value="<?= htmlspecialchars($form_data['nalog_izdao'] ?? '') ?>" required>
                </div>

                <div class="form-group">
                    <label>Radovi po NALOGU:</label>
                    <input type="text" name="radovi_po_nalogu" 
                           value="<?= htmlspecialchars($form_data['radovi_po_nalogu'] ?? '') ?>">
                </div>

                <div class="form-group">
                    <label>Mjesta isključenja/obezbjeđenja beznaponskog stanja :</label>
                    <input type="text" name="mjesta_iskljucenja" 
                           value="<?= htmlspecialchars($form_data['mjesta_iskljucenja'] ?? '') ?>">
                </div>

                <div class="form-group">
                    <label>Dozvolu za rad cete dobiti od:</label>
                    <input type="text" name="dozpolena_od" 
                           value="<?= htmlspecialchars($form_data['dozpolena_od'] ?? '') ?>">
                </div>
            </div>

            <button type="submit">Spremi nalog</button>
        </form>
    </div>

    <script>
        // Reset forme nakon uspješnog submita
        <?php if($success_message): ?>
            document.getElementById('nalogForm').reset();
        <?php endif; ?>
    </script>
</body>
</html>
<?php $conn->close(); ?>